package com.suxin.plugin.intergration.factory.process.post;

import com.suxin.plugin.intergration.factory.PluginRegistryInfo;

import java.util.List;

/**
 * @author Tang
 * @classname PluginPostProcessor
 * @description [  ]
 * @date 2022/7/23 14:22
 */
public interface PluginPostProcessor {

    /**
     * 初始化
     * @throws Exception
     */
    void initialize() throws Exception;

    /**
     * 处理该插件的注册
     * @param pluginRegistryInfos
     * @throws Exception
     */
    void registry(List<PluginRegistryInfo> pluginRegistryInfos) throws Exception;

    /**
     * 处理该插件的卸载
     * @param pluginRegistryInfos
     */
    void unRegistry(List<PluginRegistryInfo> pluginRegistryInfos);

}
